﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CSPlugin
{
    /// <summary>
    /// Объект - набор ключевых слов принятых в языке CSharp
    /// </summary>
    public static class KeyWord
    {
        private static string[] keywords = {
                                        "abstract", "as", "base", "break", "case",
                                        "catch", "checked", "continue", "default", "delegate",
                                        "do", "else", "event", "explicit", "extern",
                                        "false", "finally", "fixed", "for", "foreach",
                                        "goto", "if", "implicit", "in", "interface",
                                        "internal", "is", "lock", "namespace", "new",
                                        "null", "object", "operator", "out", "override",
                                        "params", "private", "protected", "public", "readonly",
                                        "ref", "return", "sealed", "sizeof", "stackalloc",
                                        "switch", "this", "throw", "true", "try","static",
                                        "typeof", "unchecked", "unsafe", "using", "virtual", "while",
                                        "bool", "byte", "char", "class", "const",
                                        "decimal", "double", "enum", "float", "int",
                                        "long", "sbyte", "short", "static", "string",
                                        "struct", "uint", "ulong", "ushort", "void"
                                    };
        /// <summary>
        /// Проверяет евляется ли слово переданное в качестве параметров ключевым словом
        /// </summary>
        /// <param name="keyWord">потенциальное ключевое слово</param>
        /// <returns>истина или ложь</returns>
        public static bool isKeyWord(string keyWord)
        {
            foreach (string word in keywords)
            {
                if (keyWord.Equals(word))
                {
                    return true;
                }
            }
            return false;
        }
    }
}
